package com.itheima.api.list.demo01;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * 演示：List集合的特点
 *
 * 1. 元素有序: 所谓的元素有序，指的是存储获取取出的顺序一致
 * 2. 元素允许重复
 * 3. 每一个元素都存在对应的整数索引，我们可以通过操作索引来操作集合中的元素
 *
 */
public class ListDemo01 {

    public static void main(String[] args) {

        // 1. 创建List集合对象
        /**
         * List是一个接口，我们不能直接通过new关键字去创建对象; 那么我们应该怎么去使用呢? 通过多态的方式去创建集合对象
         * 多态我们需要需要去选定一个List接口的子类， 本次我们选定的还是ArrayList
         */
        List<String> list = new ArrayList<String>() ;

        // 2. 添加元素
        list.add("hello") ;
        list.add("world") ;
        list.add("java") ;
        list.add("java") ;

        // 3. 遍历集合
        // 3.1 迭代器
        Iterator<String> iterator = list.iterator();
        while(iterator.hasNext()) {
            String s = iterator.next();
            System.out.println(s);
        }

        System.out.println("-------------------------------------------------");

        // 3.2 增强for
        for(String s : list) {
            System.out.println(s);
        }

        System.out.println("-------------------------------------------------");

        // 3.3 forEach方法
        list.forEach( (String s) -> {
            System.out.println(s);
        });

        System.out.println("-------------------------------------------------");

        list.forEach( s -> System.out.println(s) );

    }

}
